import request from "@/utils/request.js";

/**
 * 获取用户信息
 * @returns {Promise<PageDTO<UserVO>} 返回用户信息
 */
export function getUserInfo() {
  return request.get("/system/user/info");
}

/**
 * 修改当前用户信息
 * @returns {Promise<PageDTO<Void>}
 */
export function updateUserInfo(data) {
  return request.put("/system/user", data);
}

/**
 * 修改当前用户密码
 * @returns {Promise<PageDTO<Void>}
 */
export function updateUserPassword(data) {
  return request.put("/system/user/password", data);
}

/**
 * 获取用户安全设置
 * @returns {Promise<PageDTO<SecuritySettingsVO>} 返回用户安全设置
 */
export function getUserSecuritySettings() {
  return request.get("/system/user/security/settings");
}

/**
 * 更新用户安全设置
 * @param {Object} data 安全设置数据
 * @returns {Promise<PageDTO<Void>}
 */
export function updateUserSecuritySettings(data) {
  return request.put("/system/user/security/settings", data);
}

/**
 * 发送短信验证码
 * @param {Object} data 手机号数据
 * @returns {Promise<PageDTO<Void>}
 */
export function sendSmsVerificationCode(data) {
  return request.post("/system/user/security/sms/code", data);
}

/**
 * 获取登录历史记录
 * @param {Object} params 查询参数
 * @returns {Promise<PageDTO<LoginHistoryVO[]>} 返回登录历史记录
 */
export function getLoginHistory(params) {
  return request.get("/system/user/login/history", { params });
}
